home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 441 / dlibs12 / memset.s < prev    next >
Text File  |  1990-11-23  |  579b  |  30 lines

  1. *    char *memset(dest, data, len)
  2. *        register char *dest;
  3. *        register char data;
  4. *        register unsigned int len;
  5. *    /*
  6. *     *    Fill <dest> will <len> bytes of <data>.  A pointer to <dest>
  7. *     *    is returned.
  8. *     */
  9. *        {
  10. *        register char *p = dest;
  11. *    
  12. *        while(len--)
  13. *            *dest++ = data;
  14. *        return(p);
  15. *        }
  16.  
  17. .text
  18. .globl _memset
  19. _memset:
  20.     move.l    4(a7),a0    * destination
  21.     move.w    8(a7),d0    * fill data
  22.     move.w    10(a7),d1    * number of bytes
  23.     bra    memset2
  24. memset1:
  25.     move.b    d0,(a0)+    * fill loop
  26. memset2:
  27.     dbra    d1,memset1
  28.     move.l    4(a7),d0    * return destination pointer
  29.     rts
  30.